﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace WindowsService1
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
            base.ServiceName = "HehaoxiangService";
            timer1.Stop();
        }

        protected override void OnStart(string[] args)
        {
            timer1.Start();
            Process[] localByName = Process.GetProcessesByName("screen-socket-server.exe");

            //这里的360tray.exe就是你想要执行的程序的进程的名称。基本上就是.exe文件的文件名。

            //localByName得到的是进程中所有名称为"360tray.exe"的进程。
            if (localByName.Length == 0) //如果得到的进程数是0, 那么说明程序未启动，需要启动程序
            {
                Process.Start("c://Debug//screen-socket-server.exe"); //启动程序 "c://360tray.exe" 是程序的路径
            }

            else
            {

                //如果程序已经启动，则执行这一部分代码

            }

            //ScreenServer ss = new ScreenServer(7786);
            //ss.startService();
         

        }

        protected override void OnStop()
        {
            timer1.Stop();
        }

        private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            //这里不能用Messagebox
            //ServerAction sa = new ServerAction();
            //sa.test();
            

        }
    }
}
